package bean;

import dao.FreelancerDAO;
import dao.EstadoDAO;
import dao.UsuarioDAO;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import modelo.Freelancer;
import modelo.Estado;
import modelo.Projeto;
import util.JPAUtil;
import util.JSFUtil;

@ManagedBean
@SessionScoped
public class PerfilFreelancerBean {

    private Freelancer freelancer;
    private Estado estadoSelecionado = new Estado();
    private List<Projeto> projetos = new ArrayList<Projeto>();
   
    private JPAUtil jPAUtil = new JPAUtil();
    
    public PerfilFreelancerBean() {
        EntityManager entityManager = JSFUtil.getEntityManager();
        freelancer = new FreelancerDAO(entityManager).consultar(1L);
        estadoSelecionado = freelancer.getCidade().getEstado();
    }
    
    @PostConstruct
    public void iniciar() {
        FacesContext.getCurrentInstance().getExternalContext().getSession(true);
    }
    
     
            
            

    public void salvar() {
      
    }
    
    public void alterar()  {
        EntityManager entityManager = JSFUtil.getEntityManager();
        
        new FreelancerDAO(entityManager).atualizar(freelancer);
         JSFUtil.addMessage("Registro salvo com sucesso");
    }
            
            

    public Freelancer getFreelancer() {
        return freelancer;
    }

    public void setFreelancer(Freelancer freelancer) {
        this.freelancer = freelancer;
    }

    public Estado getEstadoSelecionado() {
        return estadoSelecionado;
    }

    public void setEstadoSelecionado(Estado estadoSelecionado) {
        this.estadoSelecionado = estadoSelecionado;
    }

        

    public List<Projeto> getProjetos() {
        return projetos;
    }

    public void setProjetos(List<Projeto> projetos) {
        this.projetos = projetos;
    }
    
    
}
